package com.itlong.cloud.equip.property;

import com.itlong.cloud.POJO.DTO.app.AppConsumeRecordDTO;
import com.itlong.cloud.POJO.DTO.property.ConsumptionRecordDTO;
import com.itlong.cloud.POJO.VO.app.AppElevatorConsumptionRecordVO;
import com.itlong.cloud.POJO.VO.property.ConsumptionRecordVO;
import com.itlong.cloud.utils.page.Page;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.data.repository.query.Param;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      物业消费管理接口暴露
 * </desc>
 *
 * @createDate2020/7/15
 **/
@FeignClient(name = "equip-service")
public interface IPropertyConsumptionServiceClient {

    /**
     * <desc>
     *      分页获取消费管理列表
     * </desc>
     *
     * @param consumptionRecordDTO 消费记录DTO
     * @return 消费记录分页列表
     * @Author Zhu.yj
     * @createDate  2020/7/16
     */
    @PostMapping("/sharedElevator/consumption/getPage")
    Page<ConsumptionRecordVO> getPage(@RequestBody ConsumptionRecordDTO consumptionRecordDTO) throws Exception;

    /**
     * <desc>
     *      app获取消费记录列表
     * </desc>
     *
     * @param
     * @return
     * @Author Zhu.yj
     * @createDate  2020/7/17
     */
    @PostMapping("/app/sharedElevator/consumption/getListConsumeRecord")
    List<AppElevatorConsumptionRecordVO> getLiftConsumeRecord(@RequestBody AppConsumeRecordDTO appConsumeRecordDTO) throws Exception;

    /**
     * <desc>
     *      获取有缴费/消费记录的年月
     * </desc>
     *
     * @param appConsumeRecordDTO app消费记录DTO
     * @return
     * @Author Zhu.yj
     * @createDate  2020/7/20
     */
    @PostMapping("/app/sharedElevator/consumption/getLiftDateRecord")
    List<Map<String, Object>> getLiftDateRecord(@RequestBody AppConsumeRecordDTO appConsumeRecordDTO) throws Exception;
}
